const App = getApp()
import { SpecialModel } from '../../../models/special.js'
const ModeSpecial = new SpecialModel()
Page({
  data: {
    specialId: '',
    query: [],
    searchList: [],
    iphoneX: App.globalData.isIphoneX,
    count: 0,
    statusBarHeight: App.globalData.statusBarHeight,
    isTabbar:false
    // searchList: [
    //   {
    //     type: 'radio',
    //     screenKey: '时尚',
    //     stringList: ['篮球鞋', '运动鞋', '板鞋', '跑步鞋']
    //   },
    //   {
    //     type: 'radio',
    //     screenKey: '品牌',
    //     stringList: ['阿迪达斯', '耐克', '皮尔卡丹']
    //   },
    //   {
    //     type: 'checkbox',
    //     key: '尺码',
    //     stringList: [
    //       36,
    //       36.5,
    //       37,
    //       37.5,
    //       38,
    //       38.5,
    //       39,
    //       39.5,
    //       40,
    //       40.5,
    //       41,
    //       41.5,
    //       42,
    //       42.5,
    //       43,
    //       43.5
    //     ]
    //   }
    // ]
  },
  onLoad: function(options) {
    console.log('filter onLoad=', options)
    this.data.specialId = options.specialId // 专场编码
    this.data.query = options.query ? options.query.split(',') : []
    this.data.count = this.data.query.length
    // const _this = this
    // const searchItems = this.data.searchList.map(n => {
    //   return Object.assign({}, n, {
    //     stringList: n.stringList.map(m =>
    //       Object.assign(
    //         {},
    //         {
    //           //   checked: _this.data.query.includes(m), // 回显query里有返回true
    //           value: m
    //         }
    //       )
    //     )
    //   })
    // })
    // this.setData({
    //   searchList: searchItems
    // })
    // 获取搜索选项
    this.searchItems()
  },
  // 获取搜索选项
  searchItems() {
    const _this = this
    ModeSpecial.getGoodsSize({ specialId: this.data.specialId }).then(res => {
      // 重新组装数据
      const searchItems = res.data.sizeList.map(n => {
        return Object.assign({}, n, {
          type: 'radio',
          stringList: n.stringList.map(m =>
            Object.assign(
              {},
              {
                checked: _this.data.query.includes(m), // 回显query里有返回true
                value: m
              }
            )
          )
        })
      })
      this.setData({
        searchList: searchItems
      })
    })
  },
  // onRadioChange(e) {
  //  const { parentIndex, item, index } = e.currentTarget.dataset
  // 选中
  // const children = item.stringList.map(n =>
  //   Object.assign({}, n, {
  //     checked: n.value === item.stringList[index].value
  //   })
  // )
  // 渲染数据
  // this.setData({
  //   [`searchList[${parentIndex}].stringList`]: children
  // })
  // },
  /**
   * 筛选栏内多项选择触发 change 事件
   * @param {Object} e 事件对象
   */
  onChange(e) {
    const { parentIndex, item, index } = e.currentTarget.dataset
    // 如果选中状态
    if (item.stringList[index].checked) {
      item.stringList[index].checked = false // 取消选择
      if (item.type == 'checkbox') {
        this.data.count--
      }
    } else {
      // 如果不是多选
      if (item.type != 'checkbox') {
        // 全部重置为未选择状态
        item.stringList.map(n => (n.checked = false))
      }
      // 将点击的设置为选中
      item.stringList[index].checked = true
      if (item.type == 'checkbox') {
        this.data.count++
      }
    }
    // 最多选择5个
    if (item.type == 'checkbox' && this.data.count >= 6) {
      wx.showToast({ title: '最多选5个', icon: 'none' })
      return
    }
    this.setData({
      [`searchList[${parentIndex}]`]: item
    })
    // this.$$setData({
    //   [`items[${parentIndex}].children[${index}].children`]: children,
    //   [`items[${parentIndex}].children[${index}].selected`]: selected
    // })
  },
  // 选择搜索
  // chooseSearchItem(e) {
  //   var i = parseInt(e.currentTarget.dataset.i)
  //   var j = parseInt(e.currentTarget.dataset.j)
  //   console.log(e.currentTarget.dataset)
  //   //设置当前样式
  //   this.setData({
  //     active: i,
  //     activeJ: j
  //   })
  // },
  // 取消
  doCancel() {
    this.data.searchList.map(n => {
      n.stringList.map(m => {
        m.checked = false
      })
    })
    this.setData({
      count: 0,
      searchList: this.data.searchList
    })
    // var pages = getCurrentPages() // 获取页面栈
    // var prevPage = pages[pages.length - 2] // 前一个页面
    // prevPage.setData({
    //   query: [], // 重置
    //   isBack: true
    // })
    // // 返回登录之前的页面
    // wx.navigateBack({
    //   delta: 1
    // })
  },
  // 提交
  doSubmit() {
    let selected = []
    // 获取所有选中
    this.data.searchList.map(n => {
      n.stringList.map(m => {
        if (m.checked == true) {
          selected.push(m.value)
        }
      })
    })
    var pages = getCurrentPages() // 获取页面栈
    var prevPage = pages[pages.length - 2] // 前一个页面
    prevPage.setData({
      query: selected,
      isBack: true
    })
    // 返回登录之前的页面
    wx.navigateBack({
      delta: 1
    })
  }
})
